package ejb;

import java.util.List;
import java.util.Vector;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import vo.TiendaVO;
import entity.Tienda;

@Stateless
public class AdministradorTiendaBean implements AdministradorTienda
{
	@PersistenceContext(unitName = "tiendas")
	private EntityManager em;

	@SuppressWarnings("unchecked")
	public Vector obtenerTiendas()
	{
		List list=null;
		Vector listvo=new Vector();
		Tienda tienda;
		
		list=em.createQuery("select t from Tienda as t")
							.getResultList();

		if(list.size()==0)
		{
			return listvo;
		}
		
		for(int i=0;i<list.size();i++)
		{
			tienda=(Tienda)list.get(i);
			listvo.add(tienda.getVO());
		}

		System.out.println("Obtiene todas las tiendas desde el Bean de AdministradorTienda");
		return listvo;
	}

	public TiendaVO obtenerTienda(int codigoTienda)
	{
		System.out.println("obtenerTienda en AdministradorTiendaBean");
		
		// Busca tienda en database
		Tienda tienda=null;
		tienda=em.find(Tienda.class, codigoTienda);
		
		System.out.println("Se busco tienda en database");
		if(tienda!=null)
		{
			System.out.println("Tienda: " + tienda.getCodigo());
		}
		else
		{
			System.out.println("Tienda: null");
			return null;
		}
		return tienda.getVO();
	}
	
	public void guardarTienda(TiendaVO tiendavo)
	{
		Tienda tienda= new Tienda();
		
		tienda.setVO(tiendavo);
		em.merge(tienda);

		System.out.println("Se persistio tienda en database");
	}
}
